home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 1.0 for Developers / QuickTime 1.0 for Developers.iso / Programming Stuff / Interfaces / Movies Interfaces / ImageCompression.a < prev    next >
Text File  |  1991-09-06  |  29KB  |  645 lines

  1.  
  2. ; Created: Wednesday, August 14, 1991 9:35 AM
  3. ;
  4. ; File: ImageCompression.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1990-1991
  8. ; All Rights Reserved
  9. ;
  10. ;___________________________________________________________________________
  11.  IF &TYPE('__IncludingImageCompression__') = 'UNDEFINED' THEN
  12. __IncludingImageCompression__   SET 1
  13.  
  14.  
  15. gestaltCompressionMgr       EQU      'icmp'
  16. ; These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  17. codecInfoDoes1              EQU      $1               ; codec can work with 1-bit pixels 
  18. codecInfoDoes2              EQU      $2               ; codec can work with 2-bit pixels 
  19. codecInfoDoes4              EQU      $4               ; codec can work with 4-bit pixels 
  20. codecInfoDoes8              EQU      $8               ; codec can work with 8-bit pixels 
  21. codecInfoDoes16             EQU      $10              ; codec can work with 16-bit pixels 
  22. codecInfoDoes32             EQU      $20              ; codec can work with 32-bit pixels 
  23. codecInfoDoesDither         EQU      $40              ; codec can do ditherMode 
  24. codecInfoDoesStretch        EQU      $80              ; codec can stretch to arbitrary sizes 
  25. codecInfoDoesShrink         EQU      $100             ; codec can shrink to arbitrary sizes 
  26. codecInfoDoesMask           EQU      $200             ; codec can mask to clipping regions 
  27.  
  28. codecInfoDoesTemporal       EQU      $400             ; codec can handle temporal redundancy 
  29.  
  30. codecInfoDoesDouble         EQU      $800             ; codec can stretch to double size exactly 
  31. codecInfoDoesQuad           EQU      $1000            ; codec can stretch to quadruple size exactly 
  32. codecInfoDoesHalf           EQU      $2000            ; codec can shrink to half size 
  33. codecInfoDoesQuarter        EQU      $4000            ; codec can shrink to quarter size 
  34.  
  35. codecInfoDoesRotate         EQU      $8000            ; codec can rotate on decompress 
  36. codecInfoDoesHorizFlip      EQU      $10000           ; codec can flip horizontally on decompress 
  37. codecInfoDoesVertFlip       EQU      $20000           ; codec can flip vertically on decompress 
  38. codecInfoDoesSkew           EQU      $40000           ; codec can skew on decompress 
  39. codecInfoDoesBlend          EQU      $80000           ; codec can blend on decompress 
  40. codecInfoDoesWarp           EQU      $100000          ; codec can warp arbitrarily on decompress 
  41. codecInfoDoesRecompress     EQU      $200000          ; codec can recompress image without accumulating errors 
  42.  
  43. codecInfoDepth1             EQU      $1               ; compressed data at 1 bpp depth available 
  44. codecInfoDepth2             EQU      $2               ; compressed data at 2 bpp depth available 
  45. codecInfoDepth4             EQU      $4               ; compressed data at 4 bpp depth available 
  46. codecInfoDepth8             EQU      $8               ; compressed data at 8 bpp depth available 
  47. codecInfoDepth16            EQU      $10              ; compressed data at 16 bpp depth available 
  48. codecInfoDepth32            EQU      $20              ; compressed data at 32 bpp depth available 
  49. codecInfoDepth24            EQU      $40              ; compressed data at 24 bpp depth available 
  50. codecInfoDepth33            EQU      $80              ; compressed data at 1 bpp monochrome depth  available 
  51. codecInfoDepth34            EQU      $100             ; compressed data at 2 bpp grayscale depth available 
  52. codecInfoDepth36            EQU      $200             ; compressed data at 4 bpp grayscale depth available 
  53. codecInfoDepth40            EQU      $400             ; compressed data at 8 bpp grayscale depth available 
  54. codecInfoStoresClut         EQU      $800             ; compressed data can have custom cluts 
  55.  
  56. codecFlagUseImageBuffer     EQU      $1               ; (input) allocate buffer for whole image on decompress sequence 
  57. codecFlagUseScreenBuffer    EQU      $2               ; (input) allocate buffer for screen on decompress sequence for faster updates 
  58. codecFlagUpdatePrevious     EQU      $4               ; (input) udate previous buffer on compress sequence 
  59. codecFlagNoScreenUpdate     EQU      $8               ; (input) dont update screen, but do update image buffer if allocated 
  60. codecFlagWasCompressed      EQU      $10              ; (input) hint to compressor that image was previously compressed 
  61. codecFlagDontOffscreen      EQU      $20              ; return error instead of automatically going offscreen 
  62. codecFlagUpdatePreviousComp EQU      $40              ; (input) udate previous buffer on compress sequence 
  63. codecFlagForceKeyFrame      EQU      $80              ; when sent to CompressSequenceFrame, forces that frame to be a key frame 
  64.  
  65. codecFlagUsedImageBuffer    EQU      $8000            ; (output) indicates that image buffer was used on this decompress sequence 
  66.  
  67. codecErr                    EQU      -8960            ; the codec returned an error 
  68. noCodecErr                  EQU      -8961            ; the specified codec could not be found 
  69. codecUnimpErr               EQU      -8962            ; this feature is not implemented by the specified codec 
  70. codecSizeErr                EQU      -8963
  71. codecScreenBufErr           EQU      -8964            ; the screen buffer could not be allocated 
  72. codecImageBufErr            EQU      -8965            ; the image buffer could not be allocated 
  73. codecSpoolErr               EQU      -8966            ; the compressed data must be in memory (spooling did not work) 
  74. codecAbortErr               EQU      -8967            ; the operation was aborted by the progress proc 
  75. codecWouldOffscreenErr      EQU      -8968            ; an offscreen access would have been used, but wasn't allowed because codecFlagDontOffscreen was set 
  76. codecBadDataErr             EQU      -8969            ; compressed data was found to have inconsistencies 
  77. codecDataVersErr            EQU      -8970            ; compressed data was of a format version that codec couldn't handle 
  78.  
  79. codecMinimumDataSize        EQU      16384            ; The minimum data size for spooling in or out data 
  80.  
  81. compressorComponentType     EQU      'imco'           ; the type for "Components" which compress images 
  82. decompressorComponentType   EQU      'imdc'           ; the type for "Components" which decompress images 
  83.  
  84. codecCompletionSource       EQU      1
  85. codecCompletionDest         EQU      2
  86.  
  87. codecProgressOpen           EQU      0
  88. codecProgressUpdatePercent  EQU      1
  89. codecProgressClose          EQU      2
  90.  
  91.  
  92. ProgressProcRecord          RECORD   0
  93. progressProc                DS.L     1
  94. progressRefCon              DS.L     1
  95. size                        EQU      *
  96.                             ENDR
  97.  
  98. CompletionProcRecord        RECORD   0
  99. completionProc              DS.L     1
  100. completionRefCon            DS.L     1
  101. size                        EQU      *
  102.                             ENDR
  103.  
  104. DataProcRecord              RECORD   0
  105. dataProc                    DS.L     1
  106. dataRefCon                  DS.L     1
  107. size                        EQU      *
  108.                             ENDR
  109.  
  110. FlushProcRecord             RECORD   0
  111. flushProc                   DS.L     1
  112. flushRefCon                 DS.L     1
  113. size                        EQU      *
  114.                             ENDR
  115.  
  116. ;    The ImageDescription is private data which is produced when an image or sequence 
  117. ;    is compressed. It fully describes the format of the compressed data.
  118. ImageDescription            RECORD   0
  119. idSize                      DS.L     1                   ; total size of ImageDescription including extra data ( CLUTs and other per sequence data 
  120. cType                       DS.L     1                  ; what kind of codec compressed this data 
  121. resvd1                      DS.L     1                ; reserved for apple use 
  122. resvd2                      DS.W     1                ; reserved for apple use 
  123. dataRefIndex                DS.W     1                ; set to zero 
  124. version                     DS.W     1                ; which version is this data 
  125. revisionLevel               DS.W     1                ; what version of that codec did this 
  126. vendor                      DS.L     1                ; whose  codec compressed this data 
  127. temporalQuality             DS.L     1                ; what was the temporal quality factor          
  128. spatialQuality              DS.L     1                  ; what was the spatial quality factor          
  129. width                       DS.W     1                ; how many pixels wide is this data 
  130. height                      DS.W     1                ; how many pixels high is this data 
  131. hRes                        DS.L     1                  ; horizontal resolution 
  132. vRes                        DS.L     1                ; vertical resolution 
  133. dataSize                    DS.L     1                ; if known, the size of data for this image descriptor 
  134. frameCount                  DS.W     1                ; number of frames this description applies to 
  135. name                        DS.B     32                  ; name of codec ( in case not installed ) 
  136. depth                       DS.W     1                ; what depth is this data (1-32) or ( 33-40 grayscale ) 
  137. clutID                      DS.W     1                ; clut id or if 0 clut follows  or -1 if no clut 
  138. size                        EQU      *
  139.                             ENDR
  140.  
  141. ;    The CodecInfo is the information returned as the codecInfo struct by a codec Component
  142. ;    to the codec manager or to the caller. It is specific to the particular codec
  143. ;    implementation and not to the codec type.
  144. CodecInfo                   RECORD   0
  145. typeName                    DS.B     32               ; name of the codec type i.e.: 'Apple Image Compression' 
  146. version                     DS.W     1                ; version of the codec data that this codec knows about 
  147. revisionLevel               DS.W     1                ; revision level of this codec i.e: 0x00010001 (1.0.1) 
  148. vendor                      DS.L     1                ; Maker of this codec i.e: 'appl' 
  149. decompressFlags             DS.L     1                ; codecInfo flags for decompression capabilities 
  150. compressFlags               DS.L     1                ; codecInfo flags for compression capabilities 
  151. formatFlags                 DS.L     1                ; codecInfo flags for compression format details 
  152. compressionAccuracy         DS.B     1                ; measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  153. decompressionAccuracy       DS.B     1                ; measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  154. compressionSpeed            DS.W     1                ; ( millisecs for compressing 320x240 on base mac II) (0 if unknown) 
  155. decompressionSpeed          DS.W     1                ; ( millisecs for decompressing 320x240 on mac II)(0 if unknown) 
  156. compressionLevel            DS.B     1                ; measure (1-255) of compression level of this codec (0 if unknown) 
  157. resvd                       DS.B     1                ; pad 
  158. minimumHeight               DS.W     1                ; minimum height of image (block size) 
  159. minimumWidth                DS.W     1                ; minimum width of image (block size) 
  160. decompressPipelineLatency   DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  161. compressPipelineLatency     DS.W     1                ; in milliseconds ( for asynchronous codecs ) 
  162. privateData                 DS.L     1
  163. size                        EQU      *
  164.                             ENDR
  165.  
  166. ; Table used for fast dithering. 
  167. DitherTable                 RECORD   0
  168. tag                         DS.L     1    
  169. seed                        DS.L     1    
  170. reserved                    DS.L     1
  171. data                        DS.B     1
  172. size                        EQU      *
  173.                             ENDR
  174.  
  175. ; Name list returned by GetCodecNameList. 
  176. CodecNameSpec               RECORD   0
  177. codec                       DS.L     1
  178. cType                       DS.L     1
  179. typeName                    DS.B     32
  180. name                        DS.L     1
  181. size                        EQU      *
  182.                             ENDR
  183.  
  184. CodecNameSpecList           RECORD   0
  185. count                       DS.W     1
  186. list                        DS.L     1
  187. size                        EQU      *
  188.                             ENDR
  189.  
  190. ;  Matrix stuff  
  191. MatrixRecord                RECORD   0
  192. matrix                      DS.L     3
  193. size                        EQU      *
  194.                             ENDR
  195.  
  196. FixedPoint                  RECORD   0
  197. x                           DS.L     1
  198. y                           DS.L     1
  199. size                        EQU      *
  200.                             ENDR
  201.  
  202. FixedRect                   RECORD   0
  203. left                        DS.L     1
  204. top                         DS.L     1
  205. right                       DS.L     1
  206. bottom                      DS.L     1
  207. size                        EQU      *
  208.                             ENDR
  209.  
  210.                             MACRO
  211.                             _CodecManagerVersion
  212.                             MOVEQ    #$00,D0
  213.                             DC.W         $AAA3        ; TB 02A3
  214.                             ENDM
  215.  
  216.                             MACRO
  217.                             _GetCodecNameList
  218.                             MOVEQ    #$01,D0
  219.                             DC.W         $AAA3        ; TB 02A3
  220.                             ENDM
  221.  
  222.                             MACRO
  223.                             _GetCodecInfo
  224.                             MOVEQ    #$03,D0
  225.                             DC.W         $AAA3        ; TB 02A3
  226.                             ENDM
  227.  
  228.                             MACRO
  229.                             _GetMaxCompressionSize
  230.                             MOVEQ    #$04,D0
  231.                             DC.W         $AAA3        ; TB 02A3
  232.                             ENDM
  233.  
  234.                             MACRO
  235.                             _GetCompressionTime
  236.                             MOVEQ    #$05,D0
  237.                             DC.W         $AAA3        ; TB 02A3
  238.                             ENDM
  239.  
  240.                             MACRO
  241.                             _CompressImage
  242.                             MOVEQ    #$06,D0
  243.                             DC.W         $AAA3        ; TB 02A3
  244.                             ENDM
  245.  
  246.                             MACRO
  247.                             _FCompressImage
  248.                             MOVEQ    #$07,D0
  249.                             DC.W         $AAA3        ; TB 02A3
  250.                             ENDM
  251.  
  252.                             MACRO
  253.                             _DecompressImage
  254.                             MOVEQ    #$08,D0
  255.                             DC.W         $AAA3        ; TB 02A3
  256.                             ENDM
  257.  
  258.                             MACRO
  259.                             _FDecompressImage
  260.                             MOVEQ    #$09,D0
  261.                             DC.W         $AAA3        ; TB 02A3
  262.                             ENDM
  263.  
  264.                             MACRO
  265.                             _CompressSequenceBegin
  266.                             MOVEQ    #$0A,D0
  267.                             DC.W         $AAA3        ; TB 02A3
  268.                             ENDM
  269.  
  270.                             MACRO
  271.                             _CompressSequenceFrame
  272.                             MOVEQ    #$0B,D0
  273.                             DC.W         $AAA3        ; TB 02A3
  274.                             ENDM
  275.  
  276.                             MACRO
  277.                             _DecompressSequenceBegin
  278.                             MOVEQ    #$0D,D0
  279.                             DC.W         $AAA3        ; TB 02A3
  280.                             ENDM
  281.  
  282.                             MACRO
  283.                             _DecompressSequenceFrame
  284.                             MOVEQ    #$0E,D0
  285.                             DC.W         $AAA3        ; TB 02A3
  286.                             ENDM
  287.  
  288.                             MACRO
  289.                             _SetDSequenceMatrix
  290.                             MOVEQ    #$10,D0
  291.                             DC.W         $AAA3        ; TB 02A3
  292.                             ENDM
  293.  
  294.                             MACRO
  295.                             _SetDSequenceMatte
  296.                             MOVEQ    #$11,D0
  297.                             DC.W         $AAA3        ; TB 02A3
  298.                             ENDM
  299.  
  300.                             MACRO
  301.                             _SetDSequenceMask
  302.                             MOVEQ    #$12,D0
  303.                             DC.W         $AAA3        ; TB 02A3
  304.                             ENDM
  305.  
  306.                             MACRO
  307.                             _SetDSequenceTransferMode
  308.                             MOVEQ    #$13,D0
  309.                             DC.W         $AAA3        ; TB 02A3
  310.                             ENDM
  311.  
  312.                             MACRO
  313.                             _SetDSequenceDataProc
  314.                             MOVEQ    #$14,D0
  315.                             DC.W         $AAA3        ; TB 02A3
  316.                             ENDM
  317.  
  318.                             MACRO
  319.                             _SetDSequenceAccuracy
  320.                             MOVEQ    #$34,D0
  321.                             DC.W         $AAA3        ; TB 02A3
  322.                             ENDM
  323.  
  324.                             MACRO
  325.                             _SetDSequenceSrcRect
  326.                             MOVEQ    #$35,D0
  327.                             DC.W         $AAA3        ; TB 02A3
  328.                             ENDM
  329.  
  330.                             MACRO
  331.                             _GetDSequenceImageBuffer
  332.                             MOVEQ    #$15,D0
  333.                             DC.W         $AAA3        ; TB 02A3
  334.                             ENDM
  335.  
  336.                             MACRO
  337.                             _GetDSequenceScreenBuffer
  338.                             MOVEQ    #$16,D0
  339.                             DC.W         $AAA3        ; TB 02A3
  340.                             ENDM
  341.  
  342.                             MACRO
  343.                             _SetCSequenceQuality
  344.                             MOVEQ    #$17,D0
  345.                             DC.W         $AAA3        ; TB 02A3
  346.                             ENDM
  347.  
  348.                             MACRO
  349.                             _SetCSequencePrev
  350.                             MOVEQ    #$18,D0
  351.                             DC.W         $AAA3        ; TB 02A3
  352.                             ENDM
  353.  
  354.                             MACRO
  355.                             _SetCSequenceFlushProc
  356.                             MOVEQ    #$33,D0
  357.                             DC.W         $AAA3        ; TB 02A3
  358.                             ENDM
  359.  
  360.                             MACRO
  361.                             _SetCSequenceKeyFrameRate
  362.                             MOVEQ    #$36,D0
  363.                             DC.W         $AAA3        ; TB 02A3
  364.                             ENDM
  365.  
  366.                             MACRO
  367.                             _GetCSequencePrevBuffer
  368.                             MOVEQ    #$19,D0
  369.                             DC.W         $AAA3        ; TB 02A3
  370.                             ENDM
  371.  
  372.                             MACRO
  373.                             _CDSequenceBusy
  374.                             MOVEQ    #$1A,D0
  375.                             DC.W         $AAA3        ; TB 02A3
  376.                             ENDM
  377.  
  378.                             MACRO
  379.                             _CDSequenceEnd
  380.                             MOVEQ    #$1B,D0
  381.                             DC.W         $AAA3        ; TB 02A3
  382.                             ENDM
  383.  
  384.                             MACRO
  385.                             _GetCompressedImageSize
  386.                             MOVEQ    #$1C,D0
  387.                             DC.W         $AAA3        ; TB 02A3
  388.                             ENDM
  389.  
  390.                             MACRO
  391.                             _GetSimilarity
  392.                             MOVEQ    #$1D,D0
  393.                             DC.W         $AAA3        ; TB 02A3
  394.                             ENDM
  395.  
  396.                             MACRO
  397.                             _GetImageDescriptionCTable
  398.                             MOVEQ    #$1E,D0
  399.                             DC.W         $AAA3        ; TB 02A3
  400.                             ENDM
  401.  
  402.                             MACRO
  403.                             _SetImageDescriptionCTable
  404.                             MOVEQ    #$1F,D0
  405.                             DC.W         $AAA3        ; TB 02A3
  406.                             ENDM
  407.  
  408.                             MACRO
  409.                             _GetImageDescriptionExtension
  410.                             MOVEQ    #$20,D0
  411.                             DC.W         $AAA3        ; TB 02A3
  412.                             ENDM
  413.  
  414.                             MACRO
  415.                             _SetImageDescriptionExtension
  416.                             MOVEQ    #$21,D0
  417.                             DC.W         $AAA3        ; TB 02A3
  418.                             ENDM
  419.  
  420.                             MACRO
  421.                             _FindCodec
  422.                             MOVEQ    #$23,D0
  423.                             DC.W         $AAA3        ; TB 02A3
  424.                             ENDM
  425.  
  426.                             MACRO
  427.                             _CompressPicture
  428.                             MOVEQ    #$24,D0
  429.                             DC.W         $AAA3        ; TB 02A3
  430.                             ENDM
  431.  
  432.                             MACRO
  433.                             _FCompressPicture
  434.                             MOVEQ    #$25,D0
  435.                             DC.W         $AAA3        ; TB 02A3
  436.                             ENDM
  437.  
  438.                             MACRO
  439.                             _CompressPictureFile
  440.                             MOVEQ    #$26,D0
  441.                             DC.W         $AAA3        ; TB 02A3
  442.                             ENDM
  443.  
  444.                             MACRO
  445.                             _FCompressPictureFile
  446.                             MOVEQ    #$27,D0
  447.                             DC.W         $AAA3        ; TB 02A3
  448.                             ENDM
  449.  
  450.                             MACRO
  451.                             _GetPictureFileHeader
  452.                             MOVEQ    #$28,D0
  453.                             DC.W         $AAA3        ; TB 02A3
  454.                             ENDM
  455.  
  456.                             MACRO
  457.                             _DrawPictureFile
  458.                             MOVEQ    #$29,D0
  459.                             DC.W         $AAA3        ; TB 02A3
  460.                             ENDM
  461.  
  462.                             MACRO
  463.                             _DrawTrimmedPicture
  464.                             MOVEQ    #$2E,D0
  465.                             DC.W         $AAA3        ; TB 02A3
  466.                             ENDM
  467.  
  468.                             MACRO
  469.                             _DrawTrimmedPictureFile
  470.                             MOVEQ    #$2F,D0
  471.                             DC.W         $AAA3        ; TB 02A3
  472.                             ENDM
  473.  
  474.                             MACRO
  475.                             _MakeThumbnailFromPicture
  476.                             MOVEQ    #$2A,D0
  477.                             DC.W         $AAA3        ; TB 02A3
  478.                             ENDM
  479.  
  480.                             MACRO
  481.                             _MakeThumbnailFromPictureFile
  482.                             MOVEQ    #$2B,D0
  483.                             DC.W         $AAA3        ; TB 02A3
  484.                             ENDM
  485.  
  486.                             MACRO
  487.                             _MakeThumbnailFromPixMap
  488.                             MOVEQ    #$2C,D0
  489.                             DC.W         $AAA3        ; TB 02A3
  490.                             ENDM
  491.  
  492.                             MACRO
  493.                             _TrimImage
  494.                             MOVEQ    #$2D,D0
  495.                             DC.W         $AAA3        ; TB 02A3
  496.                             ENDM
  497.  
  498.                             MACRO
  499.                             _ConvertImage
  500.                             MOVEQ    #$30,D0
  501.                             DC.W         $AAA3        ; TB 02A3
  502.                             ENDM
  503.  
  504.                             MACRO
  505.                             _MakeDitherTable
  506.                             MOVEQ    #$31,D0
  507.                             DC.W         $AAA3        ; TB 02A3
  508.                             ENDM
  509.  
  510.                             MACRO
  511.                             _DisposeDitherTable
  512.                             MOVEQ    #$32,D0
  513.                             DC.W         $AAA3        ; TB 02A3
  514.                             ENDM
  515.  
  516.                             MACRO
  517.                             _GetCompressedPixMapInfo
  518.                             MOVEQ    #$37,D0
  519.                             DC.W         $AAA3        ; TB 02A3
  520.                             ENDM
  521.  
  522.                             MACRO
  523.                             _SetCompressedPixMapInfo
  524.                             MOVEQ    #$38,D0
  525.                             DC.W         $AAA3        ; TB 02A3
  526.                             ENDM
  527.  
  528.                             MACRO
  529.                             _GetMatrixType
  530.                             MOVEQ        #$14,D0
  531.                             DC.W         $ABC2        ; TB 03C2
  532.                             ENDM
  533.  
  534.                             MACRO
  535.                             _CopyMatrix
  536.                             MOVEQ        #$20,D0
  537.                             DC.W         $ABC2        ; TB 03C2
  538.                             ENDM
  539.  
  540.                             MACRO
  541.                             _EqualMatrix
  542.                             MOVEQ        #$21,D0
  543.                             DC.W         $ABC2        ; TB 03C2
  544.                             ENDM
  545.  
  546.                             MACRO
  547.                             _SetIdentityMatrix
  548.                             MOVEQ        #$15,D0
  549.                             DC.W         $ABC2        ; TB 03C2
  550.                             ENDM
  551.  
  552.                             MACRO
  553.                             _TranslateMatrix
  554.                             MOVEQ        #$19,D0
  555.                             DC.W         $ABC2        ; TB 03C2
  556.                             ENDM
  557.  
  558.                             MACRO
  559.                             _TranslateMatrixTo
  560.                             MOVEQ        #$1A,D0
  561.                             DC.W         $ABC2        ; TB 03C2
  562.                             ENDM
  563.  
  564.                             MACRO
  565.                             _RotateMatrix
  566.                             MOVEQ        #$16,D0
  567.                             DC.W         $ABC2        ; TB 03C2
  568.                             ENDM
  569.  
  570.                             MACRO
  571.                             _ScaleMatrix
  572.                             MOVEQ        #$17,D0
  573.                             DC.W         $ABC2        ; TB 03C2
  574.                             ENDM
  575.  
  576.                             MACRO
  577.                             _SkewMatrix
  578.                             MOVEQ        #$18,D0
  579.                             DC.W         $ABC2        ; TB 03C2
  580.                             ENDM
  581.  
  582.                             MACRO
  583.                             _TransformFixedPoints
  584.                             MOVEQ        #$22,D0
  585.                             DC.W         $ABC2        ; TB 03C2
  586.                             ENDM
  587.  
  588.                             MACRO
  589.                             _TransformPoints
  590.                             MOVEQ        #$23,D0
  591.                             DC.W         $ABC2        ; TB 03C2
  592.                             ENDM
  593.  
  594.                             MACRO
  595.                             _TransformFixedRect
  596.                             MOVEQ        #$24,D0
  597.                             DC.W         $ABC2        ; TB 03C2
  598.                             ENDM
  599.  
  600.                             MACRO
  601.                             _TransformRect
  602.                             MOVEQ        #$25,D0
  603.                             DC.W         $ABC2        ; TB 03C2
  604.                             ENDM
  605.  
  606.                             MACRO
  607.                             _TransformRgn
  608.                             MOVEQ        #$39,D0
  609.                             DC.W         $AAA3        ; TB 02A3
  610.                             ENDM
  611.  
  612.                             MACRO
  613.                             _InverseMatrix
  614.                             MOVEQ        #$1C,D0
  615.                             DC.W         $ABC2        ; TB 03C2
  616.                             ENDM
  617.  
  618.                             MACRO
  619.                             _ConcatMatrix
  620.                             MOVEQ        #$1B,D0
  621.                             DC.W         $ABC2        ; TB 03C2
  622.                             ENDM
  623.  
  624.                             MACRO
  625.                             _RectMatrix
  626.                             MOVEQ        #$1E,D0
  627.                             DC.W         $ABC2        ; TB 03C2
  628.                             ENDM
  629.  
  630.                             MACRO
  631.                             _MapMatrix
  632.                             MOVEQ        #$1D,D0
  633.                             DC.W         $ABC2        ; TB 03C2
  634.                             ENDM
  635.  
  636.                             MACRO
  637.                             _AlignMatrix
  638.                             MOVEQ        #$1F,D0
  639.                             DC.W         $ABC2        ; TB 03C2
  640.                             ENDM
  641.  
  642.  
  643.                             ENDIF    ;   ...already included